草庐IT

git commit规范

全部标签

ruby-on-rails - 如何在 RSpec 规范中 stub 闪存?

在我看来,我有一个hidden_​​field_tag,其值是在Controller中设置的flash。也就是说,流程是这样的:Controller:defhomeflash[:id]=123end查看:提交给new_invitee_path的参数:{"referer"=>"123"}我可以确认在手动测试中这可以正常工作,但我不知道如何适本地stub。在我的测试中我有:beforedo#setflashvisit'/home'fill_in"rest_of_form"click_button"submit_formend下面是我为setflash尝试做的事情以及我收到的错误消息:fla

ruby - 规范化 HTTP URI

我从Akamai的日志文件中获取URI,其中包含如下条目:/foo/jim/jam/foo/jim/jam?/foo/./jim/jam/foo/bar/../jim/jam/foo/jim/jam?autho=&file=jam我想根据规则将所有这些规范化为同一个条目:如果有查询字符串,去掉autho和file如果查询字符串为空,删除结尾的?../的目录条目应该被删除。/../的目录条目应该被删除。我本以为URIRuby的库将涵盖这一点,但是:它不提供任何解析部分查询字符串的机制。(并不是说这很难做到,也不是标准。)它不会删除尾随的?如果查询字符串为空。URI.parse('/foo

ruby - 在 Sinatra 中要求规范文件的更简单方法

我有一个看起来像这样的spec_helper:require'pry'require'helpers/data_helper.rb'require'distributer.rb'require'house_distributer.rb'require'accounting_service.rb'require'mixer_worker.rb'require'mixer.rb'require'transaction_service.rb'ENV['RACK_ENV']='test'RSpec.configuredo|config|config.mock_with:rspecdo|mock

ruby-on-rails - 从 Capybara rquest 规范访问 View 助手方法

我的应用程序助手中有View助手方法:moduleApplicationHelperdefformatted_something(something)"Hello,#{something}"endend我想在我的请求规范中访问该方法:require"spec_helper"describe"something"doincludeRequestSpecHelperit"shoulddisplayblogslist"dovisitsomething_urlpage.shouldhave_contentformatted_something(@something.something)ende

ruby - Capybara-webkit、rspec 集成规范和 xvfb : webkit_server: Fatal IO error: client killed

我正在尝试使用headless(headless)gem、xvfb和用于headless(headless)测试的capybara-webkit来获得在ubuntu服务器CI盒上运行的一套集成规范。一切都在本地开发箱上运行良好,但一旦转移到CI服务器,事情就会变得有趣。在规范助手中有一些代码包装:js在headless(headless)block中启用集成规范,如下所示:config.around(:each,:js=>true)do|example|Headless.ly&exampleend就像我说的,这一切都在本地开发箱上运行良好。在CI上,它使用headless(headle

ruby - 无效的规范缓存文件

我在Windows8上安装了带有Gem2.2.2的ruby​​2.0.0p247[x64-mingw32]。我有一个持续存在的问题gem,它几乎无法使用。每当我尝试安装一个新的gem时,我总是得到:ERROR:Whileexecutinggem...InvalidspeccachefileinC:/Users/...在过去,我已经能够运行gemupdate或gemupdate--system并且可以解决one,single的问题gem安装。后续安装将失败并出现相同的错误。现在,即使是gem更新也会失败并显示该错误消息。我试过删除users/.../.gem目录。当我这样做时,gemup

ruby-on-rails - 如何在不锁定 MacVim 的情况下在 MacVim 中运行 Ruby 规范和/或测试?

大约6个月前,我的所有开发工作都从TextMate切换到MacVim,主要包括使用Ruby、RubyonRails和JavaScript进行编码。使用TextMate,每当我需要运行规范或测试时,我只需在测试或规范文件上按下command+R,就会打开另一个窗口,结果会以应用的“漂亮”格式显示。如果规范或测试很长,我可以继续使用代码库,因为测试/规范在单独的进程/窗口中运行。测试运行后,我可以直接点击结果到规范文件中的相应行。TimPope出色的rails.vim插件非常接近于在MacVim环境中模拟这种行为。运行:Rake当当前缓冲区是测试或规范时运行文件,然后拆分缓冲区以显示结果。

ruby-on-rails - 简化的 'logical' 模型可以干净地访问高度规范化的数据库

我知道使用表单添加/编辑/删除(嵌套)记录的一种方法是在相应的模型中使用:accepts_nested_attributes_for:。但是,当这种嵌套扩展到大约4层时(因为数据库的规范化),并且我想在网站上显示所有这些层级以供编辑,这种方法似乎很麻烦(而且很难看)。我想知道是否有一种方法可以使用getter和setter方法定义“super”模型,让我可以在一个地方编辑必要的数据。作为一个简化示例,请考虑:classPerson我想以一种形式显示/编辑/更新/等姓名、年龄、街道、邮政编码、国家/地区。很清楚如何使用accepts_nested_attributes_for来做到这一点

ruby - 为什么 RSpec 在从 ruby​​ 中运行时运行规范两次并重新加载规范文件?

我正在尝试在现有的ruby​​运行时中使用RSpec,并在每次文件更改时运行规范。这是因为JRuby和JVM的启动时间。为了在每次运行时消除这种情况,我想启动ruby​​一次,然后只重新加载更改的文件并运行规范。我正在使用guard(具有不同的扩展名)和watchr,但似乎都遇到了下面描述的问题。我将问题归结为RSpec本身。问题是,当通过RSpec::Core::Runner.run多次运行RSpec时,它工作正常,直到使用load重新加载规范文件。然后RSpecs开始运行规范两次。我已经创建了实时显示此问题的示例项目:https://github.com/mostr/rspec_d

ruby - RSpec TextMate Bundle [规范/自动运行(LoadError)]

所以我更新到最新的RSpecTextMateBundle而且我无法再使用“命令R”运行规范测试。我安装了TextMate的干净版本。已安装Rspec版本1.3.1并且可执行文件正在运行我的项目是骨头先生生成的gem。没有安装RVM项目目录看起来像这样my_gem_projectspecmodel_spec.rbspec_helper.rb当我从textmate运行“CommandR”来执行规范时,我得到了这个spec/autorunLoadError/Users/jspooner/Library/ApplicationSupport/TextMate/Bundles/RSpec.tmb